package com.xuecheng.api.cms;

import com.xuecheng.framework.domain.cms.CmsPage;
import com.xuecheng.framework.domain.cms.request.QueryPageRequest;
import com.xuecheng.framework.domain.cms.response.CmsPageResult;
import com.xuecheng.framework.domain.cms.response.CmsPostPageResult;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * @author zhaoxiang
 * @version 1.0
 * @Date 2019/8/18 17:10
 */
@Api(value="cms页面管理接口",description = "cms页面管理接口，提供页面的增、删、改、查")
public interface CmsPageControllerApi {

    //页面查询
    @ApiOperation("页面查询")
    QueryResponseResult findList(int page, int size, QueryPageRequest queryPageRequest);

    //新增页面
    @ApiOperation("添加页面")
    CmsPageResult add(CmsPage cmsPage);

    //根据id查询页面详情
    @ApiOperation("根据id查询页面信息")
    CmsPage findByPageId(String pageId);

    //修改页面
    @ApiOperation("修改页面")
    CmsPageResult edit(String pageId, CmsPage cmsPage);

    //删除页面
    @ApiOperation("删除页面")
    ResponseResult delete(String pageId);

    //站点下拉菜单列表
    @ApiOperation("站点下拉菜单列表")
    QueryResponseResult findSiteList();

    //模板下拉菜单列表
    @ApiOperation("模板下拉菜单列表")
    QueryResponseResult findTemplateList();

    //页面发布
    @ApiOperation("页面发布")
    ResponseResult post(String pageId);

    //保存页面
    @ApiOperation("保存页面")
    CmsPageResult save(CmsPage cmsPage);

    @ApiOperation("一键发布页面")
    CmsPostPageResult postPageQuick(CmsPage cmsPage);
}
